home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet internetowy / Rozne / HTTrack 3.40-2 / httrack-3.40-2.exe / {app} / src / mmsrip / error.c < prev    next >
C/C++ Source or Header  |  2006-01-21  |  3KB  |  118 lines

  1. /*
  2.  * $RCSfile: error.c,v $
  3.  * $Date: 2006/01/21 20:09:57 $ - $Revision: 1.7 $
  4.  *
  5.  * This file is distributed as a part of MMSRIP ( MMS Ripper ).
  6.  * Copyright (c) 2005-2006 Nicolas BENOIT
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify it
  9.  * under the terms of the GNU General Public License as published by the
  10.  * Free Software Foundation; either version 2, or (at your option) any
  11.  * later version.
  12.  *
  13.  * This program is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  * GNU General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU General Public License
  19.  * along with this program; if not, write to the Free Software
  20.  * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  *
  22.  */
  23.  
  24.  
  25. #define _GNU_SOURCE
  26.  
  27. #include <stdlib.h>
  28. #include <stdio.h>
  29. #include <string.h>
  30. #include "common.h"
  31. #include "error.h"
  32.  
  33.  
  34. /*
  35.  * Prints A Warning
  36.  */
  37. #ifdef HAVE_VSNPRINTF
  38. void
  39. warning ( const char *prod,
  40.           const char *format,
  41.           ... )
  42. {
  43.   char *message;
  44.   va_list ap;
  45.  
  46.   if ( format == NULL )
  47.     return;
  48.  
  49.   message = ( char * ) malloc ( ERROR_MSG_LEN );
  50.   va_start ( ap, format );
  51.   vsnprintf ( message, ERROR_MSG_LEN, format, ap );
  52.   va_end ( ap );
  53.  
  54.   if ( prod != NULL )
  55.     fprintf ( stderr, "warning in %s(): %s.\n", prod, message );
  56.   else
  57.     fprintf ( stderr, "warning: %s.\n", message );
  58.  
  59.   free ( message );
  60. }
  61. #else
  62. void
  63. warning ( const char *prod,
  64.           const char *message )
  65. {
  66.   if ( message == NULL )
  67.     return;
  68.  
  69.   if ( prod != NULL )
  70.     fprintf ( stderr, "warning in %s(): %s.\n", prod, message );
  71.   else
  72.     fprintf ( stderr, "warning: %s.\n", message );
  73. }
  74. #endif
  75.  
  76.  
  77. /*
  78.  * Prints An Error Message
  79.  */
  80. #ifdef HAVE_VSNPRINTF
  81. void
  82. error ( const char *prod,
  83.         const char *format,
  84.         ... )
  85. {
  86.   char *message;
  87.   va_list ap;
  88.  
  89.   if ( format == NULL )
  90.     return;
  91.  
  92.   message = ( char * ) malloc ( ERROR_MSG_LEN );
  93.   va_start ( ap, format );
  94.   vsnprintf ( message, ERROR_MSG_LEN, format, ap );
  95.   va_end ( ap );
  96.  
  97.   if ( prod != NULL )
  98.     fprintf ( stderr, "error in %s(): %s.\n", prod, message );
  99.   else
  100.     fprintf ( stderr, "error: %s.\n", message );
  101.  
  102.   free ( message );
  103. }
  104. #else
  105. void
  106. error ( const char *prod,
  107.         const char *message )
  108. {
  109.   if ( message == NULL )
  110.     return;
  111.  
  112.   if ( prod != NULL )
  113.     fprintf ( stderr, "error in %s(): %s.\n", prod, message );
  114.   else
  115.     fprintf ( stderr, "error: %s.\n", message );
  116. }
  117. #endif
  118.